python 实现将网页转化成pdf文档

思路:
1.爬取要制作成pdf的HTML网页标签
2.将爬取到的标签放到body标签内部组合成完整的HTML格式代码(我记得有个库可以实现,找了半天没找到,有记得的帮忙下边评论下)
3.使用pdfkit库将组合完整的HTML代码转化成pdf文档

pdfkit库的安装使用
pip install pdfkit
还需要安装配套的软件wkhtmltox(官网下载就行,一路next安装即可)
并且将wkhtmltox安装目录中的bin目录配置到path环境变量中
pfdkit.from_file(‘html文件路径’,‘输出的pdf文件路径’)

补个代码:

import pdfkit
import requests
from lxml import etree

# 爬虫爬取csdn文章主体内容
def spider(url):
    headers = {
        'authority': 'blog.csdn.net',
        'pragma': 'no-cache',
        'cache-control': 'no-cache',
        'sec-ch-ua': '"Google Chrome";v="95", "Chromium";v="95", ";Not A Brand";v="99"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"Windows"',
        'dnt': '1',
        'upgrade-insecure-requests': '1',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36',
        'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-mode': 'navigate',
        'sec-fetch-user': '?1',
        'sec-fetch-dest': 'document',
        'referer': 'https://blog.csdn.net/CXY00000?spm=1008.2194.3001.5343',
        'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
        'cookie': '',# (换成自己的cookie)
    }
    # print(headers)
    response=requests.get(url=url,headers=headers)
    # print(response.text)
    tree = etree.HTML(response.text)
    lis=tree.xpath('//div[@class="blog-content-box"]')[0]
    lis_str=etree.tostring(lis,encoding='unicode')
    # print(lis_str)
    html1 = '''
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
            <title>Title</title>
    </head>
        <body>
            {}
        </body>
</html>
        '''.format(lis_str)

    with open('./csdn.html','w',encoding='utf8') as fp:
        fp.write(html1)

# 将html生成pdf
def makepdf(out_name):
    pdfkit.from_file('./csdn.html','./'+str(out_name)+'.pdf')




if __name__ == '__main__':
    url = input('请输入要爬取的链接:')
    out_name = input('请输入输出的pdf文件名:')
    spider(url)
    makepdf(out_name)

exe小工具下载地址:
csdn文章转pdf(可见即可转).exe
https://jhc001.lanzouw.com/idWn4x0n50b
密码:7eeh

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值